![]() ![]() |
Q: éÑÇÕÉoÉbÉNÉAÉbÉvÅEÉvÉçÉOÉâÉÄÇèëǢǃǢNjÇ∑Ç™ÅAâºëzÉÅÉÇÉäÇà VM Storage ÉtÉ@ÉCÉãÇå©Ç¬ÇØÇƒÅAǪÇÍÇÕÉoÉbÉNÉAÉbÉvǵǻǢÇÊǧDžǵÇΩÇ¢ÇΔévǢNjÇ∑ÅBÇ«ÇÃÇÊǧDžǵÇΩÇÁÇÊÇ¢Ç≈ǵÇÂǧǩÅH
A: égópíÜÇÃâºëzÉÅÉÇÉä VM Storage ÉtÉ@ÉCÉãÇíTÇ∑ç≈ó«ÇÃï˚ñ@ÇÕÅAà»ëOÇÕÉ}ÉjÉÖÉAÉãÇ…ãLç⁄ÇÃǻǩǡÇΩ Gestalt ÉZÉåÉNÉ^ÇégǧDZÇΔÇ≈Ç∑ÅBégÇ¢ï˚ÇÕéüÇÃí ÇËÇ≈Ç∑ÅB enum { gestaltVMBackingStoreFileRefNum = 'vmbs' }; DZÇÃÉZÉåÉNÉ^ÇÕåªç›égópíÜÇÃÅgVM StorageÅhÉtÉ@ÉCÉãÇ÷ÇÃÉtÉ@ÉCÉãéQèΔî‘çÜÇï‘ǵNjÇ∑ÅBéüÇÃÇÊǧDžÅAPBGetFCBInfoSync ÇåƒÇ—èoǵǃÅAéQèΔî‘çÜÇ FSSpec Ç…ïœä∑Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB OSErr FindVMStorage(FSSpec *fss) { OSErr err; long gestaltResult; FCBPBRec fcbPB; Str255 theName; err = Gestalt(gestaltVMBackingStoreFileRefNum, &gestaltResult); if (err == noErr) { fcbPB.ioNamePtr = theName; fcbPB.ioVRefNum = 0; fcbPB.ioRefNum = gestaltResult; fcbPB.ioFCBIndx = 0; err = PBGetFCBInfoSync(&fcbPB); if (err == noErr) { err = FSMakeFSSpec(fcbPB.ioFCBVRefNum, fcbPB.ioFCBParID, theName, fss); } } return err; } [2001îN3åé30ì˙] |